home *** CD-ROM | disk | FTP | other *** search
/ Game Programming in C++ - Start to Finish / GameProgrammingS.iso / developer_install / CEGUISDK-0.4.1-VC6-Native.exe / {app} / include / elements / CEGUIMenuBaseProperties.h < prev    next >
Encoding:
C/C++ Source or Header  |  2005-05-22  |  5.0 KB  |  190 lines

  1. /************************************************************************
  2.     filename:     CEGUIMenuBaseProperties.h
  3.     created:    5/4/2005
  4.     author:        Tomas Lindquist Olsen (based on code by Paul D Turner)
  5. *************************************************************************/
  6. /*************************************************************************
  7.     Crazy Eddie's GUI System (http://www.cegui.org.uk)
  8.     Copyright (C)2004 - 2005 Paul D Turner (paul@cegui.org.uk)
  9.  
  10.     This library is free software; you can redistribute it and/or
  11.     modify it under the terms of the GNU Lesser General Public
  12.     License as published by the Free Software Foundation; either
  13.     version 2.1 of the License, or (at your option) any later version.
  14.  
  15.     This library is distributed in the hope that it will be useful,
  16.     but WITHOUT ANY WARRANTY; without even the implied warranty of
  17.     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  18.     Lesser General Public License for more details.
  19.  
  20.     You should have received a copy of the GNU Lesser General Public
  21.     License along with this library; if not, write to the Free Software
  22.     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  23. *************************************************************************/
  24. #ifndef _CEGUIMenuBaseProperties_h_
  25. #define _CEGUIMenuBaseProperties_h_
  26.  
  27. #include "CEGUIProperty.h"
  28.  
  29. // Start of CEGUI namespace section
  30. namespace CEGUI
  31. {
  32. // Start of ItemListBaseProperties namespace section
  33. namespace MenuBaseProperties
  34. {
  35.  
  36. /*!
  37. \brief
  38.     Property to access the item spacing of the menu.
  39.  
  40.     \par Usage:
  41.         - Name: ItemSpacing
  42.         - Format: "[float]".
  43.  
  44.     \par Where:
  45.         - [float] represents the item spacing of the menu.
  46. */
  47. class ItemSpacing : public Property
  48. {
  49. public:
  50.     ItemSpacing() : Property(
  51.         "ItemSpacing",
  52.         "Property to get/set the item spacing of the menu.  Value is a float.",
  53.         "10.000000")
  54.     {}
  55.  
  56.     String    get(const PropertyReceiver* receiver) const;
  57.     void    set(PropertyReceiver* receiver, const String& value);
  58. };
  59.  
  60.  
  61. /*!
  62. \brief
  63.     Property to access the horz padding value of the menu.
  64.  
  65.     \par Usage:
  66.         - Name: HorzPadding
  67.         - Format: "[float]".
  68.  
  69.     \par Where:
  70.         - [float] represents the horz padding of the slider.
  71. */
  72. class HorzPadding : public Property
  73. {
  74. public:
  75.     HorzPadding() : Property(
  76.         "HorzPadding",
  77.         "Property to get/set the horizontal padding of the menu.  Value is a float.",
  78.         "3.000000")
  79.     {}
  80.  
  81.     String    get(const PropertyReceiver* receiver) const;
  82.     void    set(PropertyReceiver* receiver, const String& value);
  83. };
  84.  
  85.  
  86. /*!
  87. \brief
  88.     Property to access the vert padding value of the menu.
  89.  
  90. \par Usage:
  91.     - Name: VertPadding
  92.     - Format: "[float]".
  93.  
  94. \par Where:
  95.     - [float] represents the vert padding of the slider.
  96. */
  97. class VertPadding : public Property
  98. {
  99. public:
  100.     VertPadding() : Property(
  101.         "VertPadding",
  102.         "Property to get/set the vertical padding of the menu.  Value is a float.",
  103.         "3.000000")
  104.     {}
  105.  
  106.     String    get(const PropertyReceiver* receiver) const;
  107.     void    set(PropertyReceiver* receiver, const String& value);
  108. };
  109.  
  110.  
  111. /*!
  112. \brief
  113.     Property to access the border width of the menu.
  114.  
  115. \par Usage:
  116.     - Name: BorderWidth
  117.     - Format: "[float]".
  118.  
  119. \par Where:
  120.     - [float] represents the border width of the slider.
  121. */
  122. class BorderWidth : public Property
  123. {
  124. public:
  125.     BorderWidth() : Property(
  126.         "BorderWidth",
  127.         "Property to get/set the border width of the menu.  Value is a float.",
  128.         "5.000000")
  129.     {}
  130.  
  131.     String    get(const PropertyReceiver* receiver) const;
  132.     void    set(PropertyReceiver* receiver, const String& value);
  133. };
  134.  
  135.  
  136. /*!
  137. \brief
  138.     Property to access the background colours of the menu.
  139.  
  140. \par Usage:
  141.     - Name: BackgroundColours
  142.     - Format: "tl:aarrggbb tr:aarrggbb bl:aarrggbb br:aarrggbb".
  143.  
  144. \par Where:
  145.     - aarrggbb is the ARGB colour value to be used for each corner of the ColourRect
  146. */
  147. class BackgroundColours : public Property
  148. {
  149. public:
  150.     BackgroundColours() : Property(
  151.         "BackgroundColours",
  152.         "Property to get/set the background colours of the menu.  Value is a ColourRect.",
  153.         "tl:FFFFFFFF tr:FFFFFFFF bl:FFFFFFFF br:FFFFFFFF")
  154.     {}
  155.  
  156.     String    get(const PropertyReceiver* receiver) const;
  157.     void    set(PropertyReceiver* receiver, const String& value);
  158. };
  159.  
  160.  
  161. /*!
  162. \brief
  163.     Property to access the state of the allow multiple popups setting.
  164.  
  165.     \par Usage:
  166.         - Name: AllowMultiplePopups
  167.         - Format: "[text]".
  168.  
  169.     \par Where [Text] is:
  170.         - "True" to indicate that auto resizing is enabled.
  171.         - "False" to indicate that auto resizing is disabled.
  172. */
  173. class AllowMultiplePopups : public Property
  174. {
  175. public:
  176.     AllowMultiplePopups() : Property(
  177.         "AllowMultiplePopups",
  178.         "Property to get/set the state of the allow multiple popups setting for the menu.  Value is either \"True\" or \"False\".",
  179.         "False")
  180.     {}
  181.  
  182.     String    get(const PropertyReceiver* receiver) const;
  183.     void    set(PropertyReceiver* receiver, const String& value);
  184. };
  185.  
  186. } // End of  MenuBaseProperties namespace section
  187. } // End of  CEGUI namespace section
  188.  
  189. #endif    // end of guard _CEGUIMenuBaseProperties_h_
  190.